package com.woniu.service;

import com.woniu.hisoutpatientservicefacade.dto.LoginDto;
import com.woniu.hisoutpatientservicefacade.dto.QueryMedicalRecordParam;
import com.woniu.hisoutpatientservicefacade.dto.ViewInspectionResultsDto;
import com.woniu.hisoutpatientservicefacade.param.*;
import com.woniu.util.Result;

public interface OutpatientServiceService {
    LoginDto login(LoginParam param);

    Result register(RegisterParam param);

    Result queryOffice();

    Result queryDoctor(Integer doctorId);

    Result payment(Integer registerId);

    Result paymentCallback();

    Result queryPatientCohort(QueryPatientCohortParam param);

    Result skipPatient(Integer patientId);

    Result queryOfficePatientCohort(Integer officeId);

    Result queryMedicalRecord(QueryMedicalRecordParam param);

    Result generateMedicalRecord(GenerateMedicalRecordParam param);

    Result viewMedicalRecord(Integer caseId);

    Result viewInspectionItems();

    Result generateChecklist(GenerateChecklistParam param);

    ViewInspectionResultsDto viewInspectionResults(ViewInspectionResultsParam param);

    Result queryMedicineName(String medicineName);

    Result generateDrugOrder(GenerateDrugOrderParam param);

    Result queryDrugOrder(Integer careId);

    Result tollDrugOrder(Integer careId);

    Result tollDrugOrderCallback();

    Result takeMedicine(Integer careId);

    Result applyForHospitalization(PatientDetailsParam param);
}
